package com.yuw.dz.oop2;

public class TestDriver01 {
    public static void main(String[] args) {

        test01();
        System.out.println("============================================");
        test02();
    }

    /**
     * 多态--溯型
     */
    public static void test02() {
        // 创建一个子类实例对象
        // 向上溯型
        // 左侧 父类类型  = 右侧  子类类型
        Person stu0 = new Student();
        // set姓名
        stu0.setPerName("小李");
        // 调用子类继承到的父类的行为方法
        stu0.doEating("煎饼果子");
        // 调用子类新增的行为方法[调用不到的]

        System.out.println("------------------------------------");
        // 向下溯型
        Student stu1 = (Student) stu0;
        // 调用子类的行为
        stu1.doEating("煎饼果子");

        System.out.println("------------------------------------");
        // 创建一个父类类型
        Person per0 = new Person();
        // 向下溯型
        Student stu2 = (Student) per0;
        // 调用子类的行为
        stu2.doEating("煎饼果子");
    }

    /**
     * 多态--重写
     */
    public static void test01() {
        // 创建一个子类实例对象
        Student stu0 = new Student();
        // set姓名
        stu0.setPerName("小李");
        // 调用子类继承到的父类的行为方法
        stu0.doEating("煎饼果子");
    }
}
